#!/bin/bash
cd `dirname "$0"`
set -e #开启错误检查
# @Project ：${PROJECT_NAME}
# @IDE     ：${PRODUCT_NAME}
# @Author  ：jiajun
# @Date    ：${DATE} ${TIME}
# 描述     ：用于作快速查并编写的shell模板
# 状态     ：finished






get_gitlab_id123(){
# 判断传入参数的个数 ((n=5))表示赋值，((n==5))表示判断大小  [ n == 5 ]和[ n=5 ] 都表示判断大小
gitlab_address=$1  # 定义变量

echo ${12} |grep '_'   # 判断下划线，注意$加12时如果不注意加{}就变成 $1和2，所以变量禁止数值开头
if [ $? == 0 ];then
  echo "名称带下划线,请把下划线去掉或修改"
  exit #直接退出脚本
fi

null=
cat config.xml.* | grep "<name>${string_name}</name>" > /dev/null 2>&1
# $?代表前面命令的返回值  $#代表脚本传入的参数数量  -lt代表小于  -ge代表大于等于  &&代表同时成立才执行  ||代表任意成立即可执行 ！代表逻辑非
if [ $? == 0 ] && [ $# -lt 3 ] ;then
  string=`echo $gitlab_git_real_address | rev |cut -d/ -f1 |rev` # rev翻转字符串http://a.com为moc.a//:ptth  cut指定字符切割字符串
  # 这三个 # " &  sed需要加\进行转义，否则 &表原始字符串
  string=`echo $gitlab_git_real_address | sed -e 's#http://'"$gitlab_com_url"'/##g'` # sed表达式最好用单引号，使用变量需用单引号和双引号 #g来修改多个匹配
  sed -i '1,$d' /root/.ssh/known_hosts # 删除1到最后一行，$可以换成3代表1到3行
  # sed 指定36行添加多行文本，带特殊符号，如xml，解决方法是先指定行添加abcdefg等，然后替换abcdefg为特殊文本，注意顺序
  sed -i '35a\abcdefg3' a.txt
  sed -i '35a\abcdefg2' a.txt
  sed -i '35a\abcdefg1' a.txt
  sed -i -e 's#^abcdefg1$#        <hudson.model.StringParameterDefinition>#' a.txt
  sed -i -e 's#^abcdefg2$#          <name>port</name>#' a.txt
  sed -i -e 's#^abcdefg3$#        </hudson.model.StringParameterDefinition>#' a.txt
  # -eq只支持数值比较， == 支持数值，字符串比较
  # 变量量取值为空（null）时，bash 会把null转换为0
elif $2 == "port_8080";then
  for dev_sit_uat_prod_platform in dev sit #使用for循环
  do
  dev_sit_func # 使用函数调用如当前函数为get_gitlab_id，这里前面没定义，需定义，
  done
elif [ ! -n "${null}" ];then # 这里null变量没赋值，为null，使用[  -n  参数  ]可以用来判断该参数是否已被赋值
  echo "IS NULL" > /dev/null
else
  echo "已添加${string_name}" # echo 双引号使用变量
  echo 已添加${string_name}   # echo 无引号使用变量
  echo '已添加${string_name}' # echo 单引号无法使用变量，结果是直接输出  已添加${string_name}
fi
}

